
#ifndef APP_CONFIG_H
#define APP_CONFIG_H

#ifdef __cplusplus
extern "C" {
#endif

#include <stdint.h>
#include <stdbool.h>
#include "user_config.h"
	
	
//PATCH
#define NST_USB_PATCH_FLAG              1

/** @brief 使能 UART DMA 发送（1=启用，0=禁用） */
#define USE_UART_DMA                    1


// #define GPIO_PWM    
#define TIM_PWM     

#define APP_USB_LOOP

#define APP_DEBUG_TEST				    1

//Feature
#define APP_ENABLE_AUTO_POWER_DWON      1   //没有数据自动关机
#define APP_FEATURE_LED_ERROR_BLINK     1

//Param
#ifndef UART_DMA_BUSY_WAIT_TIMEOUT_MS
#define UART_DMA_BUSY_WAIT_TIMEOUT_MS  10  // 默认等待超时时间为 10 ms
#endif  // UART_DMA_BUSY_WAIT_TIMEOUT_MS

#if APP_LOG_ENABLE == 1
#define APP_LOG_PRINT       nst_log
#else
#define APP_LOG_PRINT(...)  ((void)0)
#endif

#if APP_LOG_TIMESTAMP_ENABLE == 1
#define APP_LOG_TIMESTAMP_PRINT()       nst_log("file %s, line %d, timestamp %d", __FILE__, __LINE__, sys_timer.sys_tick)
#else
#define APP_LOG_TIMESTAMP_PRINT(...)  ((void)0)
#endif

typedef enum 
{
    WORK_INIT              = 0x00,
    WORK_PWR_ON            = 0x01,
    WORK_PWR_OFF           = 0x02,
    WORK_TRA_KEY_TEST_MODE = 0x03,
    WORK_SOLENOID_FORCE_SETTING_MODE = 0x04  // 新增：电磁铁力度设定模式
} APP_WORK_MODE;



extern APP_WORK_MODE work_flag;


void app_config_mode(APP_WORK_MODE work_mode);



#ifdef __cplusplus
}
#endif

#endif /* APP_CAN_H */
